package notify

import (
	"fmt"
	tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api"
	"log"
	"notifications/pkg/modals"
)

// TelegramSend send message to telegram
func TelegramSend(line *modals.AllLine) {
	e := modals.LoadConfigTelegram()
	bot, err := tgbotapi.NewBotAPI(e.TgToken)
	if err != nil {
		log.Println(err)
	}
	message := fmt.Sprintf("🕑 Статус на линиях, <a href=\"https://analytics.workround.tech/d/d5ccbdb3-d76b-40f4-b688-1f69a9634cde/5-linij?orgId=1&refresh=10s&from=now-1h&to=now\">подробнее</a>\n\n"+
		"<code>Качество и Сборка</code>\nАктивных: <code>%v</code>\nВсего: <code>%v</code>\nНазначенных: <code>%v</code>\nНе назначенных: <code>%v</code>\n\n"+
		"<code>Опоздания</code>\nАктивных: <code>%v</code>\nВсего: <code>%v</code>\nНазначенных: <code>%v</code>\nНе назначенных: <code>%v</code>\n\n"+
		"<code>1 линия поддержки</code>\nАктивных: <code>%v</code>\nВсего: <code>%v</code>\nНазначенных: <code>%v</code>\nНе назначенных: <code>%v</code>\n\n"+
		"<code>2 линия поддержки</code>\nАктивных: <code>%v</code>\nВсего: <code>%v</code>\nНазначенных: <code>%v</code>\nНе назначенных: <code>%v</code>",
		line.SupportLine[3].Online, line.SupportLine[3].Online+line.SupportLine[3].Busy+line.SupportLine[3].Away, line.SupportLine[3].AllAss, line.SupportLine[3].AllUnass, // 3
		line.SupportLine[2].Online, line.SupportLine[2].Online+line.SupportLine[2].Busy+line.SupportLine[2].Away, line.SupportLine[2].AllAss, line.SupportLine[2].AllUnass, // 2
		line.SupportLine[0].Online, line.SupportLine[0].Online+line.SupportLine[0].Busy+line.SupportLine[0].Away, line.SupportLine[0].AllAss, line.SupportLine[0].AllUnass, // 0
		line.SupportLine[1].Online, line.SupportLine[1].Online+line.SupportLine[1].Busy+line.SupportLine[1].Away, line.SupportLine[1].AllAss, line.SupportLine[1].AllUnass) // 1

	// Создание сообщения для отправки в канал
	msg := tgbotapi.NewMessageToChannel(e.TgChanelID, message)
	msg.ParseMode = "HTML"

	// Отправка сообщения в канал
	_, err = bot.Send(msg)
	if err != nil {
		log.Println(err)
	}
}
